import '../core/api_response.dart';
import '../models/timeline_event.dart';
import '../models/memory.dart';

abstract class TimelineRepository {
  Future<ApiResponse<List<Memory>>> getAllMemories();
  Future<ApiResponse<Memory>> getMemoryById(String id);
  Future<ApiResponse<Memory>> createMemory(Memory memory);
  Future<ApiResponse<Memory>> updateMemory(Memory memory);
  Future<ApiResponse<void>> deleteMemory(String id);
  
  Future<ApiResponse<List<TimelineEvent>>> getAllEvents();
  Future<ApiResponse<TimelineEvent>> getEventById(String id);
  Future<ApiResponse<TimelineEvent>> createEvent(TimelineEvent event);
  Future<ApiResponse<TimelineEvent>> updateEvent(TimelineEvent event);
  Future<ApiResponse<void>> deleteEvent(String id);
}